package ZengJiHong2.Test4;

/**
 * @ClassName test4
 * @Author 16799
 * @Date 2025/8/20 10:02
 * @Version 1.0
 * @Description TODO
 *
 *  时间：2025年8月20日10:05:42
 *      自己看到题目时毫无头绪，听课也懵懵的
 *
 * 疑惑：
 *      public void foreach(myConsumer<E> action)
 *      foreach方法这里一段我没有看懂，为什么函数式接口里面就一个方法，怎么回调的，忘记了
 *
 *      public E remove (int index) remove方法这里面的if (moveFlag!=0)死循环里面，
 *      不需要添加一个break或者return的语句吗？没有添加，是怎么跳出这个死循环的？
 *      解释：这是if语句，不是死循环，思路劈叉了，if里面的for循环代码块执行完成之后，自然会跳出if语句。
 *           只不过我很少遇到if语句里面套for循环的例子
 **/
public class test4 {
    public static void main(String[] args) {
        myArrayList<String> list = new myArrayList<>();
        list.add("曾季洪");
        list.add("牛逼");
        list.add("牛逼");
        list.add("超级牛逼");
        list.add("小昭");
        list.add("小昭");
        list.add("小昭");
        list.add("小昭");
        list.add("小昭9");
        list.add("小昭10");
        list.add("小昭11");
        System.out.println(list);
        System.out.println(list.size());
        System.out.println(list.get(2));

        list.remove(9);
        System.out.println(list);
        System.out.println(list.size());

        System.out.println("遍历： ");
        list.foreach(new myConsumer<String>() {
            @Override
            public void accept(String s) {
                System.out.println(s);
            }
        });
    }
}
